Guild icon
wafer.space Community
Information / general / Using gf180mcu_ocd_io in LibreLane
Between 11/30/2025 23:59 and 01/01/2026 00:00
Avatar
Mmm, I'm having an antenna violations when connecting to the SEL signal of the ocd IO but I don't see how that would be possible.
21:04
Violating rule is ANT.16_i_ANT.3
21:05
But (1) the Metal2 line that connects to that pin is really not that long, like 90 um or so. And (2) there is AFAICT an antenna diode on that input.
Avatar
The detail on the error is : ametal_eff: 202.5162 ratio: 401.817857143 agate: 0.504 max_ratio: 400 pmetal_factor: 0.54 adiodes: (0) diode_factors: (800) pmetal: 375.03
21:15
And indeed the gate area is 0.504. But there is an 1 um x 1 um diode on the same node, so the effective area should be 0.504 + 2 * 1 = 2.504 and thus the ratio is 80 which is way below the 400 threshold
Avatar
Ah ... the DRC rule only consider nplus + COMP to be diodes.
21:32
But the IO have pplus + COMP
Avatar
Looking at the doc : """This comp area contained the protection diode and any other drain or source junction connected to this node.""" so pplus + COMP is perfectly valid and should be included in the diodes so I'm pretty sure that KLayout deck is wrong. (edited)
21:44
(cc @Leo Moser (mole99) )
Avatar
Leo Moser (mole99) 12/05/2025 07:40
Thanks @tnt for the hint! From the DRM:
1. Possible repairs to metal antenna nodes, which have a high via count or antenna ratio. a. Add an NCOMP/Substrate diode for NMOS gate, PCOMP/Nwell diode for PMOS gate. b. Break the metal close to the gate and jog the metal to an upper metal level.
So instead of: diode = nplus.and(comp) I would do: n_diode = nplus.and(comp).not(nwell) p_diode = pplus.and(comp).and(nwell) diodes = n_diode || n_diode (deep nwell not considered.) Does that look reasonable to you?
Avatar
TBH I would think comp.and(nplus.or(pplus) would be enough.
07:52
Technically if a signal is connected to what's basically a tap, that's also a diffusion that will dissipate charge I would think.
07:53
But it's a rather weird case so the above would work just fine.
Exported 13 message(s)
Timezone: UTC+0